/**
 * 尊敬的用户，你好：页面 JS 面板是高阶用法，一般不建议普通用户使用，如需使用，请确定你具备研发背景，能够自我排查问题。
 * 我们可以用 JS 面板来开发一些定制度高功能，比如：调用API接口，自定义动作执行等等。
 */

// 当页面渲染完毕后马上调用下面的函数，这个函数是在当前页面 - 设置 - 生命周期 - 页面加载完成时中被关联的。
export function didMount() {
    ("「页面 JS」：当前页面地址 " + location.href);

    const self = this;

    let lawEle = self.$$("zfyy_form_chart_bar_7txbr1");
    let matterEle = self.$$("zfyy_form_chart_bar_5jt20y");

    getLawList(1).then(res => {
        initLawListUse(self, res, lawEle, '法规')
    });

    getLawList(2).then(res => {
        initLawListUse(self, res, matterEle, '案由')
    });

}


function initLawListUse(self, dataList, lawEle, name) {
    const lawData = [
        {
            "name": name,
            "color": [
                {
                    "offset": 0,
                    "color": "#5CA5FF"
                },
                {
                    "offset": 1,
                    "color": "#5CA5FF"
                }
            ],
            data: dataList
                .map(item => ({
                    text: item.industry_type_name,
                    value: item.count
                })),
            checked: false
        }
    ];
    lawEle.data.props.dataSource.options = lawData || [];
}


function getLawList(typeValue) {
    return new Promise((resolve, reject) => {
        const jsonParams = {pageSize: 99999};
        // 使用数据模型来代替默认查询逻辑，dataModeId为数据模型ID
        const dataModeId = "ds_mod:55de7400-7a7e-4fad-9972-abeaff043566";
        const params = [{
            name: "type",
            valueContent: typeValue
        }];
        api.DATA_SOURCE_EXECUTE(dataModeId, 'ddcat', params, [], JSON.stringify(jsonParams))
            .then(res => {
                resolve(res.result);
            }).catch(() => {
            reject();
        })
    })
}
